
adrp:     file format elf64-littleaarch64


Disassembly of section .init:

0000000000400390 <_init>:
  400390:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
  400394:	910003fd 	mov	x29, sp
  400398:	9400002c 	bl	400448 <call_weak_fn>
  40039c:	a8c17bfd 	ldp	x29, x30, [sp], #16
  4003a0:	d65f03c0 	ret

Disassembly of section .plt:

00000000004003b0 <.plt>:
  4003b0:	a9bf7bf0 	stp	x16, x30, [sp, #-16]!
  4003b4:	90000090 	adrp	x16, 410000 <__FRAME_END__+0xf9d8>
  4003b8:	f947fe11 	ldr	x17, [x16, #4088]
  4003bc:	913fe210 	add	x16, x16, #0xff8
  4003c0:	d61f0220 	br	x17
  4003c4:	d503201f 	nop
  4003c8:	d503201f 	nop
  4003cc:	d503201f 	nop

00000000004003d0 <__libc_start_main@plt>:
  4003d0:	b0000090 	adrp	x16, 411000 <__libc_start_main@GLIBC_2.17>
  4003d4:	f9400211 	ldr	x17, [x16]
  4003d8:	91000210 	add	x16, x16, #0x0
  4003dc:	d61f0220 	br	x17

00000000004003e0 <__gmon_start__@plt>:
  4003e0:	b0000090 	adrp	x16, 411000 <__libc_start_main@GLIBC_2.17>
  4003e4:	f9400611 	ldr	x17, [x16, #8]
  4003e8:	91002210 	add	x16, x16, #0x8
  4003ec:	d61f0220 	br	x17

00000000004003f0 <abort@plt>:
  4003f0:	b0000090 	adrp	x16, 411000 <__libc_start_main@GLIBC_2.17>
  4003f4:	f9400a11 	ldr	x17, [x16, #16]
  4003f8:	91004210 	add	x16, x16, #0x10
  4003fc:	d61f0220 	br	x17

Disassembly of section .text:

0000000000400400 <_start>:
  400400:	d280001d 	mov	x29, #0x0                   	// #0
  400404:	d280001e 	mov	x30, #0x0                   	// #0
  400408:	aa0003e5 	mov	x5, x0
  40040c:	f94003e1 	ldr	x1, [sp]
  400410:	910023e2 	add	x2, sp, #0x8
  400414:	910003e6 	mov	x6, sp
  400418:	580000c0 	ldr	x0, 400430 <_start+0x30>
  40041c:	580000e3 	ldr	x3, 400438 <_start+0x38>
  400420:	58000104 	ldr	x4, 400440 <_start+0x40>
  400424:	97ffffeb 	bl	4003d0 <__libc_start_main@plt>
  400428:	97fffff2 	bl	4003f0 <abort@plt>
  40042c:	00000000 	.inst	0x00000000 ; undefined
  400430:	00400550 	.word	0x00400550
  400434:	00000000 	.word	0x00000000
  400438:	00400598 	.word	0x00400598
  40043c:	00000000 	.word	0x00000000
  400440:	00400610 	.word	0x00400610
  400444:	00000000 	.word	0x00000000

0000000000400448 <call_weak_fn>:
  400448:	90000080 	adrp	x0, 410000 <__FRAME_END__+0xf9d8>
  40044c:	f947f000 	ldr	x0, [x0, #4064]
  400450:	b4000040 	cbz	x0, 400458 <call_weak_fn+0x10>
  400454:	17ffffe3 	b	4003e0 <__gmon_start__@plt>
  400458:	d65f03c0 	ret
  40045c:	00000000 	.inst	0x00000000 ; undefined

0000000000400460 <deregister_tm_clones>:
  400460:	b0000081 	adrp	x1, 411000 <__libc_start_main@GLIBC_2.17>
  400464:	b0000080 	adrp	x0, 411000 <__libc_start_main@GLIBC_2.17>
  400468:	9100e021 	add	x1, x1, #0x38
  40046c:	9100e000 	add	x0, x0, #0x38
  400470:	91001c21 	add	x1, x1, #0x7
  400474:	cb000021 	sub	x1, x1, x0
  400478:	f100383f 	cmp	x1, #0xe
  40047c:	540000a9 	b.ls	400490 <deregister_tm_clones+0x30>  // b.plast
  400480:	580000c1 	ldr	x1, 400498 <deregister_tm_clones+0x38>
  400484:	b4000061 	cbz	x1, 400490 <deregister_tm_clones+0x30>
  400488:	d61f0020 	br	x1
  40048c:	d503201f 	nop
  400490:	d65f03c0 	ret
  400494:	d503201f 	nop
	...

00000000004004a0 <register_tm_clones>:
  4004a0:	b0000081 	adrp	x1, 411000 <__libc_start_main@GLIBC_2.17>
  4004a4:	b0000080 	adrp	x0, 411000 <__libc_start_main@GLIBC_2.17>
  4004a8:	9100e021 	add	x1, x1, #0x38
  4004ac:	9100e000 	add	x0, x0, #0x38
  4004b0:	cb000021 	sub	x1, x1, x0
  4004b4:	9343fc21 	asr	x1, x1, #3
  4004b8:	8b41fc21 	add	x1, x1, x1, lsr #63
  4004bc:	9341fc21 	asr	x1, x1, #1
  4004c0:	b4000081 	cbz	x1, 4004d0 <register_tm_clones+0x30>
  4004c4:	580000a2 	ldr	x2, 4004d8 <register_tm_clones+0x38>
  4004c8:	b4000042 	cbz	x2, 4004d0 <register_tm_clones+0x30>
  4004cc:	d61f0040 	br	x2
  4004d0:	d65f03c0 	ret
  4004d4:	d503201f 	nop
	...

00000000004004e0 <__do_global_dtors_aux>:
  4004e0:	a9be7bfd 	stp	x29, x30, [sp, #-32]!
  4004e4:	910003fd 	mov	x29, sp
  4004e8:	f9000bf3 	str	x19, [sp, #16]
  4004ec:	b0000093 	adrp	x19, 411000 <__libc_start_main@GLIBC_2.17>
  4004f0:	3940e260 	ldrb	w0, [x19, #56]
  4004f4:	35000080 	cbnz	w0, 400504 <__do_global_dtors_aux+0x24>
  4004f8:	97ffffda 	bl	400460 <deregister_tm_clones>
  4004fc:	52800020 	mov	w0, #0x1                   	// #1
  400500:	3900e260 	strb	w0, [x19, #56]
  400504:	f9400bf3 	ldr	x19, [sp, #16]
  400508:	a8c27bfd 	ldp	x29, x30, [sp], #32
  40050c:	d65f03c0 	ret

0000000000400510 <frame_dummy>:
  400510:	90000080 	adrp	x0, 410000 <__FRAME_END__+0xf9d8>
  400514:	91380000 	add	x0, x0, #0xe00
  400518:	f9400001 	ldr	x1, [x0]
  40051c:	b5000061 	cbnz	x1, 400528 <frame_dummy+0x18>
  400520:	17ffffe0 	b	4004a0 <register_tm_clones>
  400524:	d503201f 	nop
  400528:	58000101 	ldr	x1, 400548 <frame_dummy+0x38>
  40052c:	b4ffffa1 	cbz	x1, 400520 <frame_dummy+0x10>
  400530:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
  400534:	910003fd 	mov	x29, sp
  400538:	d63f0020 	blr	x1
  40053c:	a8c17bfd 	ldp	x29, x30, [sp], #16
  400540:	17ffffd8 	b	4004a0 <register_tm_clones>
  400544:	d503201f 	nop
	...

0000000000400550 <main>:
int g3 = 7;
int g4 = 8;

void main()
{
    g = 2;
  400550:	b0000080 	adrp	x0, 411000 <__libc_start_main@GLIBC_2.17>
  400554:	9100a000 	add	x0, x0, #0x28
  400558:	52800041 	mov	w1, #0x2                   	// #2
  40055c:	b9000001 	str	w1, [x0]
    g2 = 5;
  400560:	b0000080 	adrp	x0, 411000 <__libc_start_main@GLIBC_2.17>
  400564:	9100b000 	add	x0, x0, #0x2c
  400568:	528000a1 	mov	w1, #0x5                   	// #5
  40056c:	b9000001 	str	w1, [x0]
    g3 = 6;
  400570:	b0000080 	adrp	x0, 411000 <__libc_start_main@GLIBC_2.17>
  400574:	9100c000 	add	x0, x0, #0x30
  400578:	528000c1 	mov	w1, #0x6                   	// #6
  40057c:	b9000001 	str	w1, [x0]
    g4 = 9;
  400580:	b0000080 	adrp	x0, 411000 <__libc_start_main@GLIBC_2.17>
  400584:	9100d000 	add	x0, x0, #0x34
  400588:	52800121 	mov	w1, #0x9                   	// #9
  40058c:	b9000001 	str	w1, [x0]
}
  400590:	d503201f 	nop
  400594:	d65f03c0 	ret

0000000000400598 <__libc_csu_init>:
  400598:	a9bc7bfd 	stp	x29, x30, [sp, #-64]!
  40059c:	910003fd 	mov	x29, sp
  4005a0:	a9025bf5 	stp	x21, x22, [sp, #32]
  4005a4:	90000095 	adrp	x21, 410000 <__FRAME_END__+0xf9d8>
  4005a8:	a90153f3 	stp	x19, x20, [sp, #16]
  4005ac:	90000094 	adrp	x20, 410000 <__FRAME_END__+0xf9d8>
  4005b0:	9137c2b5 	add	x21, x21, #0xdf0
  4005b4:	9137e294 	add	x20, x20, #0xdf8
  4005b8:	cb150294 	sub	x20, x20, x21
  4005bc:	a90363f7 	stp	x23, x24, [sp, #48]
  4005c0:	aa0203f6 	mov	x22, x2
  4005c4:	2a0003f8 	mov	w24, w0
  4005c8:	aa0103f7 	mov	x23, x1
  4005cc:	97ffff71 	bl	400390 <_init>
  4005d0:	9343fe94 	asr	x20, x20, #3
  4005d4:	b4000154 	cbz	x20, 4005fc <__libc_csu_init+0x64>
  4005d8:	d2800013 	mov	x19, #0x0                   	// #0
  4005dc:	f8737aa3 	ldr	x3, [x21, x19, lsl #3]
  4005e0:	aa1603e2 	mov	x2, x22
  4005e4:	aa1703e1 	mov	x1, x23
  4005e8:	2a1803e0 	mov	w0, w24
  4005ec:	91000673 	add	x19, x19, #0x1
  4005f0:	d63f0060 	blr	x3
  4005f4:	eb13029f 	cmp	x20, x19
  4005f8:	54ffff21 	b.ne	4005dc <__libc_csu_init+0x44>  // b.any
  4005fc:	a94153f3 	ldp	x19, x20, [sp, #16]
  400600:	a9425bf5 	ldp	x21, x22, [sp, #32]
  400604:	a94363f7 	ldp	x23, x24, [sp, #48]
  400608:	a8c47bfd 	ldp	x29, x30, [sp], #64
  40060c:	d65f03c0 	ret

0000000000400610 <__libc_csu_fini>:
  400610:	d65f03c0 	ret

Disassembly of section .fini:

0000000000400614 <_fini>:
  400614:	a9bf7bfd 	stp	x29, x30, [sp, #-16]!
  400618:	910003fd 	mov	x29, sp
  40061c:	a8c17bfd 	ldp	x29, x30, [sp], #16
  400620:	d65f03c0 	ret
